package com.itheima.controroller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;

@Controller
@RequestMapping("/file")
public class FileUploadController {
    @RequestMapping("/fileupload")
//前端文件域传输内容需要使用MultipartFile 接收 要求表单名称和参数名称相同
    //修改文件保存的位置需要传入request
    public String fileupload(MultipartFile file, MultipartFile file1,MultipartFile file2, HttpServletRequest request) throws IOException {
        System.out.println("upload begain"+file);
        //查看file对象中各种get方法
        //打印的文件长度
//        System.out.println("1:"+file.getSize());
//        //字节长度
//        System.out.println("2:"+file.getBytes().length);
//        //文件的类型
//        System.out.println("3:"+file.getContentType());
//        //文件的名称file
//        System.out.println("4."+file.getName());
//        //文件的全名称
//        System.out.println("5:" + file.getOriginalFilename());
//        //判断文件是否为空文件
//        System.out.println("6:"+file.isEmpty());


//        1.判断文件内容是否为空
        if (!file.isEmpty()) {
            //获取文件的原始名称
            String filename = file.getOriginalFilename();
            //设置保存的路径
            String realPath = request.getServletContext().getRealPath("/images");
            //保存文件的方法
            file.transferTo(new File(realPath,filename));
        }

//        上传多个文件
        if(!file1.isEmpty()){
            String fileName = file1.getOriginalFilename();
            //可以根据需要，对不同种类的文件做不同的存储路径的区分，修改对应的保存位置即可
            String realPath = request.getServletContext().getRealPath("/images");
            file1.transferTo(new File(realPath,fileName));
        }
        if(!file2.isEmpty()){
            String fileName = file2.getOriginalFilename();
            String realPath = request.getServletContext().getRealPath("/images");
            file2.transferTo(new File(realPath,fileName));
        }
        return "/page.jsp";
    }

}
